草庐IT

android JSONArray 长度

全部标签

c++ - 带空字符的 STL basic_string 长度

为什么您可以在std::basic_string中插入一个'\0'字符并且.length()方法不受影响,但是如果您调用char_traits::length(str.c_str())你得到字符串的长度直到第一个'\0'字符?例如stringstr("abcdefgh");cout::length(str.c_str());//4 最佳答案 好问题!原因是C风格的字符串被定义为以空字节结尾的字节序列。当您使用.c_str()从C++中获取C风格的字符串std::string,然后您将返回C++字符串存储的序列,其后有一个空字节。当您

c++ - 使用循环将字符串拆分为特定长度的子单元

我需要将一个字符串拆分成特定的长度,例如如果用户将其指定为最大长度为4的单位,则循环应在原始输入"0123456789asdf"上运行以获取"0123"、"4567",“89as”,“df”。我真的想不出最好的方法来做到这一点-我需要它处于循环中,因为需要对强的每个子单元进行进一步处理。TIA。编辑:我不知道原来的字符串有多长,我只知道它需要变成的block的大小。此外,我需要指定长度的字符串block,以及包含字符串的剩余部分的最后一个block(如果它小于指定长度)。 最佳答案 stringstr("0123456789asdf

c++ - 生成给定长度的所有可能的 1 和 0 数组的算法

如何在长度为n的位数组中生成所有可能的位组合。如果我从我的数组中的所有零开始,那么有n种可能性来放置第一位,对于这n种可能性,有n-1种可能性来放置第二位..单位所有n位都设置为1。但到目前为止,我还没有设法将其编程出来。还有很多人指出,我可以通过从0计数到(2^n)-1并以二进制打印数字来做到这一点。这将是解决问题的一种简单方法,但是在这种情况下,我只是让机器计数而不是告诉它在哪里放置。我这样做是为了学习,所以我想知道如何编写出ones-placing方法。 最佳答案 您如何在纸上手动计数?你会检查最后一位数字。如果它是0,则将其

c++ - 带指针的数组长度

在C++中如何仅使用指针获取数组长度?我知道选项卡名称是指向第一个元素的指针,但接下来呢? 最佳答案 你做不到。您需要将数组长度与数组指针一起传递,或者您需要使用容器对象,例如std::vector。 关于c++-带指针的数组长度,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/2459057/

c++ - 将 vector 幅度减小特定长度的有效方法?

假设我有一个任意vectorA。将vector幅度减小任意量的最有效方法是什么?我目前的方法如下:VectorshortenLength(VectorA,floatreductionLength){VectorB=A;B.normalize();B*=reductionLength;returnA-B;}有没有更有效的方法来做到这一点?可能删除标准化B所需的平方根... 最佳答案 所以如果我理解正确的话,你有一个vectorA,并且想要另一个指向与A相同方向但比短的vectorreductionLength,对吧?Vector接口(

c++ - C++11 中的固定长度可变参数包

我正在尝试使用C++11实现广义的n维vector类。理想情况下,我想提供vector的类型“T”和维数“n”,并让构造函数接受适当数量的参数。不幸的是,我一直无法找到一种方法来允许参数包的模板指定的固定长度。我要找的是类似的东西templateclassVector{public:Vector(T...values/*valuesisexactlynparameterslong*/);...};这有可能吗? 最佳答案 好吧,你可以使用std::enable_if:template::type>explicitVector(Args

c++ - 增加字符串文字长度限制

我有很多大于65535字节的字符串文字。我不允许将这些字符串保存到单独的文件中,我该如何解决字符串限制?https://stackoverflow.com/a/11488682/7821462MSVC:2048GCC:NoLimit(upto100,000characters),butgiveswarningafter510characters:Stringliteraloflength100000exceedsmaximumlength509thatC90compilersarerequiredtosupport 最佳答案 这些大

c++ - 零长度 C 数组绑定(bind)到指针类型

我最近写了一个函数模板,它引用了一个C数组:templatevoidfoo(T(&c_array)[N]);假设T是char,C字符串的长度为N-1由于空终止符。我意识到我应该处理N==0的边缘情况,因为那时N-1将是std::numeric_limits::max().因此,为了避免在有人将零长度数组传递给此函数的罕见情况下可能发生的困惑,我检查了N==0。.然而,令我惊讶的是,似乎零长度数组实际上什至不是数组类型——或者至少,这就是GCC似乎相信的。事实上,如果具有指针类型签名的函数可用作候选者,则零长度数组甚至不会绑定(bind)到上述函数签名。考虑以下代码:templatevo

代码随想录Day2 977.有序数组的平方、 209.长度最小的子数组 、59.螺旋矩阵II

977.有序数组的平方题目给你一个按非递减顺序排序的整数数组nums,返回每个数字的平方组成的新数组,要求也按非递减顺序排序。示例1输入:nums=[-4,-1,0,3,10]输出:[0,1,9,16,100]解释:平方后,数组变为[16,1,0,9,100]排序后,数组变为[0,1,9,16,100]思路因为数组是非递减顺序的,所以平方最大的数一定在数组的两边(可能有负数的存在),所以我们用左右两个指针,依次比较,把较大的数放在一个新的数组的最后。这里要注意不能从前往后往新数组里放数,因为较小的数如果放在第一个位置,left指针加1,后面的数的平方是完全有可能比第一个数的平方小的,比如[-4

c++ - 如何在给定数组中找到某个固定给定长度的每个子数组的最大值

给定一个包含n个元素的数组和一个整数k。假设我们要在数组中滑动一个长度为k的窗口,报告每个窗口中包含的最大值。例如,给定数组1510916201413给定一个长度为4的窗口,我们将输出[1510916]201413--->Output1615[1091620]1413--->Output201510[9162014]13--->Output2015109[16201413]--->Output20那么结果就是16202020我通过在每个点跟踪窗口的最大元素来解决这个问题,但是当最大的元素滑出窗口时遇到了问题。那时,我想不出一种快速的方法来找出最大的剩余元素是什么。有人知道解决这个问题的